\hypertarget{group___real_time_controller}{
\section{RealTimeController}
\label{group___real_time_controller}\index{RealTimeController@{RealTimeController}}
}
\subsection*{Data Structures}
\begin{DoxyCompactItemize}
\item 
struct \hyperlink{struct_r_t_c___t_i_m_e}{RTC\_\-TIME}
\item 
struct \hyperlink{struct_r_t_c___d_a_t_e}{RTC\_\-DATE}
\end{DoxyCompactItemize}
\subsection*{Enumerations}
\begin{DoxyCompactItemize}
\item 
enum {\bfseries MUSIC} \{ \par
{\bfseries BEEP}, 
{\bfseries OFF}, 
{\bfseries PLAY}, 
{\bfseries STOPPED}, 
\par
{\bfseries PAUSE}
 \}
\end{DoxyCompactItemize}
\subsection*{Functions}
\begin{DoxyCompactItemize}
\item 
void \hyperlink{group___real_time_controller_gaa4f18104015de13014524989b16db6c4}{rtc\_\-isr} (void)
\item 
\hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} \hyperlink{group___real_time_controller_ga839845a3a9f35e3860e525cfe86f3405}{bcd2dec} (\hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} i)
\item 
\hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} \hyperlink{group___real_time_controller_ga4b857d1c0d66ceaf587d2343881252c1}{dec2bcd} (\hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} i)
\item 
\hypertarget{group___real_time_controller_ga7e1c48bd3deb14214922fa7b179a4f97}{
void {\bfseries rtc\_\-int\_\-enable} ()}
\label{group___real_time_controller_ga7e1c48bd3deb14214922fa7b179a4f97}

\item 
\hypertarget{group___real_time_controller_ga5d4cf2f0b16521c81d780708f511f6b2}{
void {\bfseries rtc\_\-int\_\-enable\_\-periodic} ()}
\label{group___real_time_controller_ga5d4cf2f0b16521c81d780708f511f6b2}

\item 
\hypertarget{group___real_time_controller_gaf9fab10f77d4ba102dce19c433779e91}{
void {\bfseries rtc\_\-int\_\-disable} ()}
\label{group___real_time_controller_gaf9fab10f77d4ba102dce19c433779e91}

\item 
void \hyperlink{group___real_time_controller_gae9b349676544e84360bb9278ef4c0a96}{rtc\_\-valid} ()
\item 
\hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} \hyperlink{group___real_time_controller_ga4a59b403e6b8da03106ab2a09ec2431f}{read\_\-rtc} (\hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} add)
\item 
\hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} \hyperlink{group___real_time_controller_ga433f5ef3940f2cce7b17aa9771080516}{read\_\-rtcv} (\hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} add)
\item 
void \hyperlink{group___real_time_controller_ga18c4e040accb4c214682d5605f596e60}{write\_\-rtc} (\hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} add, \hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} value)
\item 
void \hyperlink{group___real_time_controller_ga28ed5315f068afb9339b74dd434c04bd}{write\_\-rtcv} (\hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} add, \hyperlink{group___user_types_gae3a497195d617519e5353ea7b417940f}{Byte} value)
\item 
void \hyperlink{group___real_time_controller_ga3554832f0cd4b7366219d8c1aa9ae321}{rtc\_\-read\_\-time} (\hyperlink{struct_r_t_c___t_i_m_e}{RTC\_\-TIME} $\ast$)
\item 
void \hyperlink{group___real_time_controller_gaef01346a833632b8540100f23fecdd09}{rtc\_\-read\_\-date} (\hyperlink{struct_r_t_c___d_a_t_e}{RTC\_\-DATE} $\ast$)
\item 
void \hyperlink{group___real_time_controller_ga41fd5f9c71342629f1149063251e3827}{rtc\_\-read\_\-alarm} (\hyperlink{struct_r_t_c___t_i_m_e}{RTC\_\-TIME} $\ast$)
\item 
void \hyperlink{group___real_time_controller_gab5992248e26867cf6bb3b08aa822b37e}{rtc\_\-write\_\-alarm} (\hyperlink{struct_r_t_c___t_i_m_e}{RTC\_\-TIME} $\ast$)
\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
\hypertarget{group___real_time_controller_ga2e02056e9d7a5542c5a45b9363463e3b}{
volatile int {\bfseries rtc\_\-ints}}
\label{group___real_time_controller_ga2e02056e9d7a5542c5a45b9363463e3b}

\item 
\hypertarget{group___real_time_controller_ga986d7e94a79b24c8cc54ed5f5df9fc4a}{
volatile int {\bfseries rtc\_\-upd\_\-ints}}
\label{group___real_time_controller_ga986d7e94a79b24c8cc54ed5f5df9fc4a}

\item 
\hypertarget{group___real_time_controller_ga4cfdb1b428492cd0c3ded6966f350546}{
volatile int {\bfseries rtc\_\-per\_\-ints}}
\label{group___real_time_controller_ga4cfdb1b428492cd0c3ded6966f350546}

\item 
\hypertarget{group___real_time_controller_ga878dcb96b9b6460daa32c7e68ea3d187}{
volatile int {\bfseries rtc\_\-alarm\_\-ints}}
\label{group___real_time_controller_ga878dcb96b9b6460daa32c7e68ea3d187}

\item 
\hypertarget{group___real_time_controller_gaddacaf9c1e8a0bbf1b2fc3acfbac25d3}{
int {\bfseries music}}
\label{group___real_time_controller_gaddacaf9c1e8a0bbf1b2fc3acfbac25d3}

\item 
\hypertarget{group___real_time_controller_ga87a4b5967da177279fa5c1b8a27de6aa}{
\hyperlink{struct_note}{Note} {\bfseries colision\_\-beep}}
\label{group___real_time_controller_ga87a4b5967da177279fa5c1b8a27de6aa}

\end{DoxyCompactItemize}
\subsection*{The RTC registers}
\label{_amgrp0e9d1303ea5fcec8cdcf992099c25cc6}
 \begin{DoxyCompactItemize}
\item 
enum {\bfseries rtc\_\-regs} \{ \par
{\bfseries SEC}, 
{\bfseries SEC\_\-ALARM}, 
{\bfseries MIN}, 
{\bfseries MIN\_\-ALARM}, 
\par
{\bfseries HOUR}, 
{\bfseries HOUR\_\-ALARM}, 
{\bfseries WEEK\_\-DAY}, 
{\bfseries MONTH\_\-DAY}, 
\par
{\bfseries MONTH}, 
{\bfseries YEAR}, 
{\bfseries RTC\_\-STAT\_\-A}, 
{\bfseries RTC\_\-STAT\_\-B}, 
\par
{\bfseries RTC\_\-STAT\_\-C}, 
{\bfseries RTC\_\-STAT\_\-D}
 \}
\end{DoxyCompactItemize}
\subsection*{PC I/O register address used to comunicate with the RTC}
\label{_amgrpfcd50b13e62b4fe3cb47e15804c52433}
 \begin{DoxyCompactItemize}
\item 
\hypertarget{group___real_time_controller_ga710b98232df2c563009e6f8a6cd18220}{
\#define \hyperlink{group___real_time_controller_ga710b98232df2c563009e6f8a6cd18220}{RTC\_\-ADDR\_\-REG}~0x70}
\label{group___real_time_controller_ga710b98232df2c563009e6f8a6cd18220}

\begin{DoxyCompactList}\small\item\em I/O address that contains the RTC address to communicate with. \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga2f258a00c59c3f347c8d2d4a75471ce0}{
\#define \hyperlink{group___real_time_controller_ga2f258a00c59c3f347c8d2d4a75471ce0}{RTC\_\-DATA\_\-REG}~0x71}
\label{group___real_time_controller_ga2f258a00c59c3f347c8d2d4a75471ce0}

\begin{DoxyCompactList}\small\item\em I/O address that contains the data read from or written to the RTC. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Bit Meaning in STAT-\/A register}
\label{_amgrpe3be79aa45f0a16507fe65c761442f27}
 \begin{DoxyCompactItemize}
\item 
\hypertarget{group___real_time_controller_ga2ebe3d816d8b2e9f1be075554e4135b3}{
\#define \hyperlink{group___real_time_controller_ga2ebe3d816d8b2e9f1be075554e4135b3}{RTC\_\-UIP}~(1 $<$$<$ 7)}
\label{group___real_time_controller_ga2ebe3d816d8b2e9f1be075554e4135b3}

\begin{DoxyCompactList}\small\item\em 1-\/update in progress, 0-\/data valid for next 244 usec \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga3e0bb1b127052d36bc4e5ef91e92fb89}{
\#define \hyperlink{group___real_time_controller_ga3e0bb1b127052d36bc4e5ef91e92fb89}{RTC\_\-DV2}~(1 $<$$<$ 6)}
\label{group___real_time_controller_ga3e0bb1b127052d36bc4e5ef91e92fb89}

\begin{DoxyCompactList}\small\item\em Divider. \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_gab24bb577503d1089e9257cb1172bdf23}{
\#define \hyperlink{group___real_time_controller_gab24bb577503d1089e9257cb1172bdf23}{RTC\_\-DV1}~(1 $<$$<$ 5)}
\label{group___real_time_controller_gab24bb577503d1089e9257cb1172bdf23}

\begin{DoxyCompactList}\small\item\em Divider. \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga5911071bc2a9af2eedbabd20b1daf528}{
\#define \hyperlink{group___real_time_controller_ga5911071bc2a9af2eedbabd20b1daf528}{RTC\_\-DV0}~(1 $<$$<$ 4)}
\label{group___real_time_controller_ga5911071bc2a9af2eedbabd20b1daf528}

\begin{DoxyCompactList}\small\item\em Divider. \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga151a2d40d9019b24ebc14861bbd67551}{
\#define \hyperlink{group___real_time_controller_ga151a2d40d9019b24ebc14861bbd67551}{RTC\_\-RS3}~(1 $<$$<$ 3)}
\label{group___real_time_controller_ga151a2d40d9019b24ebc14861bbd67551}

\begin{DoxyCompactList}\small\item\em Rate selector. \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga54d2328341e35419ce7111c8cf3b9d57}{
\#define \hyperlink{group___real_time_controller_ga54d2328341e35419ce7111c8cf3b9d57}{RTC\_\-RS2}~(1 $<$$<$ 2)}
\label{group___real_time_controller_ga54d2328341e35419ce7111c8cf3b9d57}

\begin{DoxyCompactList}\small\item\em Rate selector. \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_gaf2b4f805675fd966c3c4173780b7b15b}{
\#define \hyperlink{group___real_time_controller_gaf2b4f805675fd966c3c4173780b7b15b}{RTC\_\-RS1}~(1 $<$$<$ 1)}
\label{group___real_time_controller_gaf2b4f805675fd966c3c4173780b7b15b}

\begin{DoxyCompactList}\small\item\em Rate selector. \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga722a880e324ceace4b3bd27d2a540404}{
\#define \hyperlink{group___real_time_controller_ga722a880e324ceace4b3bd27d2a540404}{RTC\_\-RS0}~(1 $<$$<$ 0)}
\label{group___real_time_controller_ga722a880e324ceace4b3bd27d2a540404}

\begin{DoxyCompactList}\small\item\em Rate selector. \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Bit Meaning in STAT-\/B register}
\label{_amgrpbcafe01008835cf8c5d1f114c898d03d}
 \begin{DoxyCompactItemize}
\item 
\hypertarget{group___real_time_controller_gaac2db7539ba4f42b7a399faedc23df39}{
\#define \hyperlink{group___real_time_controller_gaac2db7539ba4f42b7a399faedc23df39}{RTC\_\-SET}~(1 $<$$<$ 7)}
\label{group___real_time_controller_gaac2db7539ba4f42b7a399faedc23df39}

\begin{DoxyCompactList}\small\item\em 1-\/Stop updating, 0-\/update normally \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga8aa3ee782d809767b9e03c49c7756083}{
\#define \hyperlink{group___real_time_controller_ga8aa3ee782d809767b9e03c49c7756083}{RTC\_\-PIE}~(1 $<$$<$ 6)}
\label{group___real_time_controller_ga8aa3ee782d809767b9e03c49c7756083}

\begin{DoxyCompactList}\small\item\em 1-\/Periodic interrupt enable \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga6a293d49e03a7f92a09cbb02fb49a08e}{
\#define \hyperlink{group___real_time_controller_ga6a293d49e03a7f92a09cbb02fb49a08e}{RTC\_\-AIE}~(1 $<$$<$ 5)}
\label{group___real_time_controller_ga6a293d49e03a7f92a09cbb02fb49a08e}

\begin{DoxyCompactList}\small\item\em 1-\/Alarm interrupt enable \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga3fa059415b73592c094cd9a3f79e6795}{
\#define \hyperlink{group___real_time_controller_ga3fa059415b73592c094cd9a3f79e6795}{RTC\_\-UIE}~(1 $<$$<$ 4)}
\label{group___real_time_controller_ga3fa059415b73592c094cd9a3f79e6795}

\begin{DoxyCompactList}\small\item\em 1-\/Update-\/ended interrupt enable \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga1f8f94a2096173944bc82fec3e9bbd8a}{
\#define \hyperlink{group___real_time_controller_ga1f8f94a2096173944bc82fec3e9bbd8a}{RTC\_\-SQWE}~(1 $<$$<$ 3)}
\label{group___real_time_controller_ga1f8f94a2096173944bc82fec3e9bbd8a}

\begin{DoxyCompactList}\small\item\em 1-\/Square Wave Enable \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_gafe5d31647d8882e7fa9ea7030baa2780}{
\#define \hyperlink{group___real_time_controller_gafe5d31647d8882e7fa9ea7030baa2780}{RTC\_\-DM}~(1 $<$$<$ 2)}
\label{group___real_time_controller_gafe5d31647d8882e7fa9ea7030baa2780}

\begin{DoxyCompactList}\small\item\em Data Mode, 1-\/Binary, 0-\/BCD. \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga4d3c383e9185072b666e8ed980d20471}{
\#define \hyperlink{group___real_time_controller_ga4d3c383e9185072b666e8ed980d20471}{RTC\_\-12\_\-24}~(1 $<$$<$ 1)}
\label{group___real_time_controller_ga4d3c383e9185072b666e8ed980d20471}

\begin{DoxyCompactList}\small\item\em 1-\/24 hours, 0-\/12 hours \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga18836ba9bcbd0bee568bdd21b163cae1}{
\#define \hyperlink{group___real_time_controller_ga18836ba9bcbd0bee568bdd21b163cae1}{RTC\_\-DSE}~(1 $<$$<$ 0)}
\label{group___real_time_controller_ga18836ba9bcbd0bee568bdd21b163cae1}

\begin{DoxyCompactList}\small\item\em 1-\/Day-\/light saving \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Bit Meaning in STAT-\/C register}
\label{_amgrp3617b812d32487a86e476f6014306496}
 \begin{DoxyCompactItemize}
\item 
\hypertarget{group___real_time_controller_ga01c8262113ddc3b618fb7c97395ed142}{
\#define \hyperlink{group___real_time_controller_ga01c8262113ddc3b618fb7c97395ed142}{RTC\_\-IRQF}~(1 $<$$<$ 7)}
\label{group___real_time_controller_ga01c8262113ddc3b618fb7c97395ed142}

\begin{DoxyCompactList}\small\item\em 1-\/An interrupt occurred, if PF=PIE=1 $|$$|$ AF=AIE=1 $|$$|$ UF=UIE=1 \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga9d9fa73fa39aa2500273df240594afe6}{
\#define \hyperlink{group___real_time_controller_ga9d9fa73fa39aa2500273df240594afe6}{RTC\_\-PF}~(1 $<$$<$ 6)}
\label{group___real_time_controller_ga9d9fa73fa39aa2500273df240594afe6}

\begin{DoxyCompactList}\small\item\em 1-\/Periodic interrupt occurred \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga0ed62fab6c50790f2c4b71849f2000b2}{
\#define \hyperlink{group___real_time_controller_ga0ed62fab6c50790f2c4b71849f2000b2}{RTC\_\-AF}~(1 $<$$<$ 5)}
\label{group___real_time_controller_ga0ed62fab6c50790f2c4b71849f2000b2}

\begin{DoxyCompactList}\small\item\em 1-\/Alarm interrupt occurred \item\end{DoxyCompactList}\item 
\hypertarget{group___real_time_controller_ga7c63615d9172c9065f5b9d1875ef6d04}{
\#define \hyperlink{group___real_time_controller_ga7c63615d9172c9065f5b9d1875ef6d04}{RTC\_\-UF}~(1 $<$$<$ 4)}
\label{group___real_time_controller_ga7c63615d9172c9065f5b9d1875ef6d04}

\begin{DoxyCompactList}\small\item\em 1-\/Update interrupt occurred \item\end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Bit Meaning in STAT-\/D register}
\label{_amgrp0b91534a839052d2c1ad954e5c07a35d}
 \begin{DoxyCompactItemize}
\item 
\hypertarget{group___real_time_controller_ga35577ed27885901641e6120257455adb}{
\#define \hyperlink{group___real_time_controller_ga35577ed27885901641e6120257455adb}{RTC\_\-VRT}~(1 $<$$<$ 7)}
\label{group___real_time_controller_ga35577ed27885901641e6120257455adb}

\begin{DoxyCompactList}\small\item\em 1-\/Valid RAM and time \item\end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
Real Time Controller related functions 

\subsection{Function Documentation}
\hypertarget{group___real_time_controller_ga839845a3a9f35e3860e525cfe86f3405}{
\index{RealTimeController@{RealTimeController}!bcd2dec@{bcd2dec}}
\index{bcd2dec@{bcd2dec}!RealTimeController@{RealTimeController}}
\subsubsection[{bcd2dec}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Byte} bcd2dec ({\bf Byte} {\em i})}}
\label{group___real_time_controller_ga839845a3a9f35e3860e525cfe86f3405}
converts BCD (Binary Coded Decimal) to decimal \hypertarget{group___real_time_controller_ga4b857d1c0d66ceaf587d2343881252c1}{
\index{RealTimeController@{RealTimeController}!dec2bcd@{dec2bcd}}
\index{dec2bcd@{dec2bcd}!RealTimeController@{RealTimeController}}
\subsubsection[{dec2bcd}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Byte} dec2bcd ({\bf Byte} {\em i})}}
\label{group___real_time_controller_ga4b857d1c0d66ceaf587d2343881252c1}
converts decimal to BCD (Binary Coded Decimal) \hypertarget{group___real_time_controller_ga4a59b403e6b8da03106ab2a09ec2431f}{
\index{RealTimeController@{RealTimeController}!read\_\-rtc@{read\_\-rtc}}
\index{read\_\-rtc@{read\_\-rtc}!RealTimeController@{RealTimeController}}
\subsubsection[{read\_\-rtc}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Byte} read\_\-rtc ({\bf Byte} {\em add})}}
\label{group___real_time_controller_ga4a59b403e6b8da03106ab2a09ec2431f}
Returns rtc data from I/O address add. Doesn't check valid bit \hypertarget{group___real_time_controller_ga433f5ef3940f2cce7b17aa9771080516}{
\index{RealTimeController@{RealTimeController}!read\_\-rtcv@{read\_\-rtcv}}
\index{read\_\-rtcv@{read\_\-rtcv}!RealTimeController@{RealTimeController}}
\subsubsection[{read\_\-rtcv}]{\setlength{\rightskip}{0pt plus 5cm}{\bf Byte} read\_\-rtcv ({\bf Byte} {\em add})}}
\label{group___real_time_controller_ga433f5ef3940f2cce7b17aa9771080516}
Returns rtc data from I/O address add. Check valid bit \hypertarget{group___real_time_controller_gaa4f18104015de13014524989b16db6c4}{
\index{RealTimeController@{RealTimeController}!rtc\_\-isr@{rtc\_\-isr}}
\index{rtc\_\-isr@{rtc\_\-isr}!RealTimeController@{RealTimeController}}
\subsubsection[{rtc\_\-isr}]{\setlength{\rightskip}{0pt plus 5cm}void rtc\_\-isr (void)}}
\label{group___real_time_controller_gaa4f18104015de13014524989b16db6c4}
Time structure. Atributes in plain decimal \hypertarget{group___real_time_controller_ga41fd5f9c71342629f1149063251e3827}{
\index{RealTimeController@{RealTimeController}!rtc\_\-read\_\-alarm@{rtc\_\-read\_\-alarm}}
\index{rtc\_\-read\_\-alarm@{rtc\_\-read\_\-alarm}!RealTimeController@{RealTimeController}}
\subsubsection[{rtc\_\-read\_\-alarm}]{\setlength{\rightskip}{0pt plus 5cm}void rtc\_\-read\_\-alarm ({\bf RTC\_\-TIME} $\ast$ {\em alarm})}}
\label{group___real_time_controller_ga41fd5f9c71342629f1149063251e3827}
Read RTC stored alarm

Uses \hyperlink{group___real_time_controller_ga433f5ef3940f2cce7b17aa9771080516}{read\_\-rtcv()} and \hyperlink{group___real_time_controller_ga839845a3a9f35e3860e525cfe86f3405}{bcd2dec()} \hypertarget{group___real_time_controller_gaef01346a833632b8540100f23fecdd09}{
\index{RealTimeController@{RealTimeController}!rtc\_\-read\_\-date@{rtc\_\-read\_\-date}}
\index{rtc\_\-read\_\-date@{rtc\_\-read\_\-date}!RealTimeController@{RealTimeController}}
\subsubsection[{rtc\_\-read\_\-date}]{\setlength{\rightskip}{0pt plus 5cm}void rtc\_\-read\_\-date ({\bf RTC\_\-DATE} $\ast$ {\em date})}}
\label{group___real_time_controller_gaef01346a833632b8540100f23fecdd09}
Read RTC stored date

Uses \hyperlink{group___real_time_controller_ga433f5ef3940f2cce7b17aa9771080516}{read\_\-rtcv()} and \hyperlink{group___real_time_controller_ga839845a3a9f35e3860e525cfe86f3405}{bcd2dec()} \hypertarget{group___real_time_controller_ga3554832f0cd4b7366219d8c1aa9ae321}{
\index{RealTimeController@{RealTimeController}!rtc\_\-read\_\-time@{rtc\_\-read\_\-time}}
\index{rtc\_\-read\_\-time@{rtc\_\-read\_\-time}!RealTimeController@{RealTimeController}}
\subsubsection[{rtc\_\-read\_\-time}]{\setlength{\rightskip}{0pt plus 5cm}void rtc\_\-read\_\-time ({\bf RTC\_\-TIME} $\ast$ {\em time})}}
\label{group___real_time_controller_ga3554832f0cd4b7366219d8c1aa9ae321}
Read RTC stored time

Uses \hyperlink{group___real_time_controller_ga433f5ef3940f2cce7b17aa9771080516}{read\_\-rtcv()} and \hyperlink{group___real_time_controller_ga839845a3a9f35e3860e525cfe86f3405}{bcd2dec()} \hypertarget{group___real_time_controller_gae9b349676544e84360bb9278ef4c0a96}{
\index{RealTimeController@{RealTimeController}!rtc\_\-valid@{rtc\_\-valid}}
\index{rtc\_\-valid@{rtc\_\-valid}!RealTimeController@{RealTimeController}}
\subsubsection[{rtc\_\-valid}]{\setlength{\rightskip}{0pt plus 5cm}void rtc\_\-valid ()}}
\label{group___real_time_controller_gae9b349676544e84360bb9278ef4c0a96}
Wait until data in rtc is valid. Data is valid until +/-\/ 240 usec after this function returns, thus a read/write can be done to the RTC within this time period \hypertarget{group___real_time_controller_gab5992248e26867cf6bb3b08aa822b37e}{
\index{RealTimeController@{RealTimeController}!rtc\_\-write\_\-alarm@{rtc\_\-write\_\-alarm}}
\index{rtc\_\-write\_\-alarm@{rtc\_\-write\_\-alarm}!RealTimeController@{RealTimeController}}
\subsubsection[{rtc\_\-write\_\-alarm}]{\setlength{\rightskip}{0pt plus 5cm}void rtc\_\-write\_\-alarm ({\bf RTC\_\-TIME} $\ast$ {\em time})}}
\label{group___real_time_controller_gab5992248e26867cf6bb3b08aa822b37e}
Write alarm to RTC

Uses \hyperlink{group___real_time_controller_ga28ed5315f068afb9339b74dd434c04bd}{write\_\-rtcv()} and \hyperlink{group___real_time_controller_ga4b857d1c0d66ceaf587d2343881252c1}{dec2bcd()} \hypertarget{group___real_time_controller_ga18c4e040accb4c214682d5605f596e60}{
\index{RealTimeController@{RealTimeController}!write\_\-rtc@{write\_\-rtc}}
\index{write\_\-rtc@{write\_\-rtc}!RealTimeController@{RealTimeController}}
\subsubsection[{write\_\-rtc}]{\setlength{\rightskip}{0pt plus 5cm}void write\_\-rtc ({\bf Byte} {\em add}, \/  {\bf Byte} {\em value})}}
\label{group___real_time_controller_ga18c4e040accb4c214682d5605f596e60}
Write value to I/O address add. Doesn't check valid bit \hypertarget{group___real_time_controller_ga28ed5315f068afb9339b74dd434c04bd}{
\index{RealTimeController@{RealTimeController}!write\_\-rtcv@{write\_\-rtcv}}
\index{write\_\-rtcv@{write\_\-rtcv}!RealTimeController@{RealTimeController}}
\subsubsection[{write\_\-rtcv}]{\setlength{\rightskip}{0pt plus 5cm}void write\_\-rtcv ({\bf Byte} {\em add}, \/  {\bf Byte} {\em value})}}
\label{group___real_time_controller_ga28ed5315f068afb9339b74dd434c04bd}
Write value to I/O address add. Check valid bit 